package cn.lx.stack;

/**下压栈的实现，并支持foreach迭代
 * 支持foreach迭代的前提是实现Iterable接口,实现iterator()方法
 * 因为foreach迭代的本质是使用迭代器进行迭代
 * Created by Administrator on 2017/3/21 0021.
 *使用数组实现定容栈，并支持自动增减容量，当容量为空间的四分之一，会将空间缩减为原来的四分之一
 * 当使用空间达到当前最大时，空间扩容为原来的两倍
 *Item是一个类型参数，用于表示用例将会使用的某种具体类型的象征性的占位符
 */
public interface Stack<Item> {
    Item pop();//弹出一个最后加入的元素
    void push(Item item);//添加元素
    boolean isEmpty();
    int size();//当前栈的元素个数
}
